package com.glorystone.ins.dao;

import com.glorystone.ins.common.common.PageVo;
import com.glorystone.ins.common.common.Pageable;
import com.glorystone.ins.domain.SysRole;
import com.glorystone.ins.domain.SysUser;
import com.glorystone.ins.interceptor.PageList;

import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface SysRoleMapper {


	/**
	 * 根据角色id查询角色
	 * @param tid
	 * @return	角色
	 */
	SysRole selectByPrimaryKey(Long tid);

    int insert(SysRole record);

	int update(SysRole record);

	PageList<SysRole> queryAllRoleList(@Param("vo") PageVo vo, Pageable pageable);

	List<SysRole> checkRoleByName(String name);

	List<Map<String,Object>> getAllDepartment();

	List<Map<String,Object>> getAllInOutDepartment();

	List<Map<String,String>> getRoleType(Long tid);

	List<SysRole> getAllRoleList();


	List<SysRole> getRoleListByDepartmentId(Long departmentId);


	List<SysUser> getUserListByDepartmentId(Long departmentId);

	List<SysRole> getUselessRoles();

	/*
	*//**
	 * 根据角色名称查询角色
	 * @param name
	 * @return	角色list
	 *//*
	List<SysRole> listByRoleName(String name);



 

	*//**
	 * 查询所有的角色
	 * @return
	 *//*
	PageList<SysRole> queryRoleList(@Param("vo") PageVo vo, Pageable pageable);

	*//**
	 * 删除角色权限中间表
	 * @param roleId
	 *//*
	void delRoleAndAuthByRoleId(Long roleId);

    int insertRoleAuth(Map<String, Object> params);

	*//**
	 * 根据角色id删除角色
	 * @param id
	 * @return	删除的数量
	 *//*
	int deleteByPrimaryKey(Integer id);*/


}